package com.example.gitzuoye3;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

/**
 * 个人主页Fragment，显示用户信息和提供退出登录功能
 * 简化版的个人中心页面
 */
public class gerenzhuye extends Fragment {

    private TextView usernameTextView;  // 显示用户名的TextView
    private Button tuichuButton;       // 退出登录按钮

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater,
                             @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        // 1. 加载布局文件
        View view = inflater.inflate(R.layout.geren, container, false);

        // 2. 初始化视图组件
        usernameTextView = view.findViewById(R.id.username);
        tuichuButton = view.findViewById(R.id.tuichu);

        // 3. 加载用户名
        loadUsername();

        // 4. 设置退出登录按钮点击事件
        tuichuButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                logoutUser();
            }
        });

        return view;
    }

    /**
     * 从SharedPreferences加载用户名
     */
    private void loadUsername() {
        // 获取SharedPreferences
        SharedPreferences prefs = requireActivity()
                .getSharedPreferences("login_info", Context.MODE_PRIVATE);

        // 获取用户名
        String username = prefs.getString("loginname", "用户");

        // 显示用户名
        usernameTextView.setText(username);
    }

    /**
     * 处理用户退出登录逻辑
     */
    private void logoutUser() {
        // 清除登录信息
        SharedPreferences prefs = requireActivity()
                .getSharedPreferences("login_info", Context.MODE_PRIVATE);
        prefs.edit().clear().apply();

        // 重新启动应用到登录页面
        Intent intent = new Intent(requireActivity(), MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);

        // 结束当前Activity
        requireActivity().finish();
    }
}